package com.lej.core.permission

import androidx.fragment.app.FragmentActivity
import com.lej.core.utils.KLog
import com.permissionx.guolindev.PermissionX
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine

/**
 *  author: cjq
 *  date  : 2022/11/9 0009
 *  desc  :
 */
suspend fun FragmentActivity.reqPermission(vararg permissions: String): Boolean {
    return suspendCoroutine {
        PermissionX.init(this)
            .permissions(*permissions)
            .request { allGranted, _, _ ->
                if (allGranted) {
                    KLog.e("允许了权限!")
                    kotlin.runCatching { it.resume(true) }
                } else {
                    kotlin.runCatching {
                        it.resume(false)
                    }
                    KLog.e("未授权权限，部分功能不能使用")
                }
            }
    }
}